
// 从 /a 重定向到 /b
const router = new VueRouter({
  routes: [
    { path: '/a', redirect: '/b' }
  ]
})


// 重定向到一个命令的路由
const router = new VueRouter({
  routes: [
    { path: '/a', redirect: { name: 'foo' } }
  ]
})

// redirect可以是一个方法，动态返回重定向目标
const router = new VueRouter({
  routes: [
    {
      path: '/a', redirect: to => {
        // 方法接收 目标路由 作为参数
        // return 重定向的 字符串路径/路径对象
        const { hash, params, query } = to
        if (query.to === 'foo') {
          return { path: '/foo', query: null }
        }
        if (hash === '#baz') {
          return { name: 'baz', hash: '' }
        }
        if (params.id) {
          return '/with-params/:id'
        } else {
          return '/bar'
        }
      }
    }
  ]
})


/*
    别名的功能让你可以自由地将UI结构映射到任意的URL， 而不是受限于配置的嵌套路由结构  

*/

// 访问 /b 就像用户访问 /a 一样
const router = new VueRouter({
  routes: [
    { path: '/a', component: A, alias: '/b' }
  ]
})


